import { defineStore } from 'pinia'
import { ref, computed } from 'vue'
import { userLoginAPI } from '@/apis/loginAPI'

export const useAuthStore = defineStore('user', () => {
  // 用户信息状态
  const user = ref({})
  const isLoggedIn = computed(() => Object.keys(user.value).length > 0)

  // 用户登录方法
  const login = async ({account, password, captchaCode, captchaKey }) => {
    const res = await userLoginAPI({
      account,
       password ,
      captchaCode, // 传递验证码内容
      captchaKey  // 传递验证码唯一标识
      })
    console.log('登录API返回数据:', res)
    
    // 根据API返回的数据结构设置用户信息
    user.value=res.data.sysUserVO
    
    console.log('设置用户信息:', user.value)
  }

  // 用户退出方法
  const logout = async () => {
    user.value = {}
  }

  return {
    user,
    isLoggedIn,
    login,
    logout,
  }
},{
  persist: true
}
)
